package com.yuxue.petlog;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@AllArgsConstructor
@NoArgsConstructor

//父类 ActionLog：记录所有日志通用的字段和行为。
public abstract class ActionLog {
    //私有属性 封装数据
    private String username;
    private Page page; //网页
    private PaymentMethod paymentMethod; //支付方式
    private String item;//物品
    private int quantity; //数量
    private int amount; //金额
    private String unit; //单位

    // 抽象方法：由子类实现具体日志内容
    public abstract String getLogMessage();

    // 重写toString方法
    @Override
    public String toString() {
        return getLogMessage();
    }
}
